//
//  GastoDAO.m
//  ViagemBem
//
//  Created by Rodrigo Morbach on 07/11/13.
//  Copyright (c) 2013 Michel de Sousa Carvalho. All rights reserved.
//

#import "GastoDAO.h"
#import "AppDelegate.h"
#import "Cidade.h"

@implementation GastoDAO

+ (NSArray *)listarGastos:(Viagem*)viagem
{
    NSManagedObjectContext *context = [(AppDelegate *) [UIApplication sharedApplication].delegate managedObjectContext];
    NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Gasto"];
    request.predicate = [NSPredicate predicateWithFormat:@"viagem == %@",viagem];
    return  [context executeFetchRequest:request error:nil];
    
}

+(Gasto *) inserirGasto:(NSDictionary*)dadosGasto
{
    
    NSManagedObjectContext *context = [GastoDAO criarContexto];
    Gasto *gasto = [NSEntityDescription insertNewObjectForEntityForName:@"Gasto"
                                                   inManagedObjectContext:context];
    
    gasto.tipoGasto = [dadosGasto objectForKey:@"tipoGasto"];
    gasto.beneficiado = [dadosGasto objectForKey:@"beneficiado"];
    gasto.localRealizado = [dadosGasto objectForKey:@"local"];
    gasto.objetoComprado =[dadosGasto objectForKey:@"objeto"];
    gasto.valor = [dadosGasto objectForKey:@"valor"];
    gasto.viagem = [dadosGasto objectForKey:@"viagem"];
//    gasto.tipo = [dadosGasto objectForKey:@"viagem"];
    
    [context save:nil];
    
    return gasto;
    
}
+(void) excluirGasto:(Gasto*)gasto
{
    
    NSManagedObjectContext *context = [GastoDAO criarContexto];
    [context deleteObject:gasto];
    NSError *erro;
    [context save:&erro];
    
}
+(Gasto *)criarNoContexto:(NSManagedObjectContext *)context
{
    Gasto *gasto = [NSEntityDescription insertNewObjectForEntityForName:@"Gasto" inManagedObjectContext:context];
    return gasto;
}
+(NSManagedObjectContext*)criarContexto{
    NSManagedObjectContext *context = [(AppDelegate *) [UIApplication sharedApplication].delegate managedObjectContext];
    return context;
}
@end
